#include <bits/stdc++.h>
using namespace std;
int k;
const int N=25;
struct Edge{
    int v,next;
}edge[N*2];
int cnt,head[N];
void init(){
    cnt=0;
    memset(head,-1,sizeof(head));
}
void add(int u,int v){
    edge[cnt]=Edge{v,head[u]};
    head[u]=cnt++;
    edge[cnt]=Edge{u,head[v]};
    head[v]=cnt++;
}
int u,v;
vector<vector<int> > res;
void dfs(int u,int f,int g){
    
}
int main(void){
    while(~scanf("%d",&k)){
        init();
        while(~scanf("%d%d",&u,&v) && (u+v)){
            add(u,v);
        }

    }
    return 0;
}